﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace FormAuktionsHus
{
    public partial class FrmGuiServer : Form
    {
        ClsAuktionMonitor auktionMonitor;
        ClsSimpelServerSocket socket;


        public FrmGuiServer()
        {
            InitializeComponent();
            MaximizeBox = false;
        }

        public void StartForbindelse()
        {
            socket = new ClsSimpelServerSocket(auktionMonitor);
            Thread klientTråd = new Thread(socket.StartForbindelse);

            klientTråd.IsBackground = true;
            klientTråd.Start();
        }

        private void btnAuktion_Click(object sender, EventArgs e)
        {
            try
            {
                auktionMonitor = new ClsAuktionMonitor(txtNavn.Text, long.Parse(txtStartpris.Text));
                StartForbindelse();
                txtBud.Text += "Vare til salg: " + auktionMonitor.GetVarernavn() + ". Varens startpris: " + auktionMonitor.GetVareStartpris() + "." + Environment.NewLine + Environment.NewLine;

                MessageBox.Show("Varen er sat til salg");
                auktionMonitor.UdskrivningAfBud += Udskriv;
            }

            catch
            {
                MessageBox.Show("Der er sket en fejl ved oprettelse af vare");
            }
        }

        private void Tekstudskrivning(string besked)
        {
            txtBud.Text += besked + Environment.NewLine;
        }

        public void Udskriv(string besked)
        {
            try
            {
                if (InvokeRequired)
                {
                    Invoke(new ClsAuktionMonitor.UdskrivBud(Udskriv), besked);
                }
                else
                {
                    Tekstudskrivning(besked);
                }
            }

            catch
            {
                
            }
        }
    }
}
